Conventional circuit simulators estimate power consumption of a circuit design using a number of different techniques. One technique used to estimate dynamic power consumption of a circuit design uses average current per transition of circuit elements. For the various portions of the circuit design, the average current is determined on a per transition basis. The circuit simulator receives a user input specifying average switching activity for the various portions of the circuit design. The circuit simulator then calculates an estimate of the average dynamic power consumed by each portion of the circuit design and for the circuit design as a whole.
From the average dynamic power consumption calculation, the circuit simulator estimates peak power consumption. Typically, the peak power consumption for a circuit design is calculated by either increasing the average switching rate for each module unilaterally by a predetermined amount, e.g., 15%, or by adding a margin of error to the estimated average dynamic power consumption for the circuit design as a whole, e.g., increase the dynamic average power consumption by 15%. Thus, both the average dynamic power consumption and the peak dynamic power consumption are output as single values.
Another technique is to perform a cycle accurate simulation of the circuit design using a back annotated netlist. The back annotated netlist is used to build a current profile for the circuit design. This approach, however, is not practical due to the difficulties involved in creating a suitable test bench and the excessive runtime that is required. Moreover, in many cases, only high level models are available for one or more portions of the circuit design meaning that cycle accurate models are not available. As such, the opportunity to perform a cycle accurate simulation may be foreclosed by the lack of available models even if runtime and the ability to create a suitable test bench were not concerns.